////////////////////////////////////////////////////////////////////////////////
//                                                                            //
//   Software       : S-LOGGER                                                //
//   Layer          : SRC                                                     //
//   Package        :                                                         //
//   Component      : S-LOGGER                                                //
//                                                                            //
//   File           : cdisplay.h                                              //
//   Author         : RSO ( Rafael Sotomayor Brûlé )                          //
//   EMail          : rsotomayor@savtec.cl                                    //
//   Type           : C++ Source                                              //
//   Usage          :                                                         //
//   Purpose        : Clase para desplegar datos                              //
//                                                                            //
//                                                                            //
//   who when        what                                                     //
//   ~~~ ~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
//   RSO 01-01-2008  Creation                                                 //
//                                                                            //
////////////////////////////////////////////////////////////////////////////////
#ifndef __MYUTIL_H__
#define __MYUTIL_H__



#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
#include <stdbool.h>


#include <map>
#include <iostream>
#include <cstdlib>
#include <iostream>
#include <vector>

#include "mylib/utilconf.h"
#include "mylib/linserial.h"
#include "mylib/errlog.h"
#include "myglobal.h"

using namespace std;

extern int isOn_g;
extern errLog log_g;

int md5_file(char *file_p,std::string &strMD5_p) ;

class MyUtil {

public:
  MyUtil();
  ~MyUtil();
  static MyUtil   *pMyUtil_a;
  int wget(const char *url_p,string &response_p);
  int wget(const char *hostname_p,const char *url_p,std::string parameter_p);
  int wpost(const char *url_p,map<string, string> &m,string &response_p);
  vector<string> split(const string& strValue, char separator);
  void      Tokenize(const string& str,vector<string>& tokens,    const string& delimiters = " ");
  void      pollServer();
  string    myexec(const char* cmd_p);
  void      find_and_replace( string &source, const string find, string replace );
  string    getTemperature() { return temperature_a ; } ;
  void      checkTemperature() ;
  long int  getTimeUp() { return tUp_a;}
  void      setTimeUp();
  int       getMyIpAddress(const char *dev_p,string &ipaddress_p) ;
  int       imprimeTicket(CGlobal::tTransaccion *mytr);
  bool	    FileExists(const char *path);

protected:

private:
  string temperature_a;
  long int tUp_a;
  long int tInicio_a ;
     
} ;
#endif

